Manufacturers, integrators, customers and others often need to distinguish an individual integrated circuit from others. For example, a user may want to track a circuit's source of manufacture or identify a system employing the integrated circuit. Individually identifiable integrated circuits may be used to validate transactions, route messages, track items, recover stolen goods, etc. Furthermore, many such devices, which conform to certain security protocols, are required to have unique identifiers. The devices may have unique encryption keys to make it difficult to hack into the devices.
Integrated circuits are often manufactured using processing that makes all integrated circuit chips identical, thereby lowering manufacturing costs and improving quality. It has been known to include circuits within a chip that produce a signal identifying the nature or type of the chip. For example, programmable logic devices (PLDs) are a well-known type of integrated circuit that can be programmed to perform specified logic functions. One type of PLD, the field programmable gate array (FPGA), typically includes an array of programmable tiles. These programmable tiles can include, for example, input/output blocks (IOBs), configurable logic blocks (CLBs), dedicated random access memory blocks (BRAM), multipliers, digital signal processing blocks (DSPs), processors, clock managers, delay lock loops (DLLs), and so forth.
To provide information on a circuit, techniques have been developed for identifying the type of mask-programmed read-only memory (ROM). ROMs of different types may have indistinguishable visible structures and a visible pattern may be produced on the ROM identifying its nature. Further, an embedded system may place a type-specific identifier on the pins of a circuit when stimulated, e.g., specific identification information may be placed into a scan test chain. These methods of identification are useful for indicating the type of component being manufactured or placed in an assembly, but they do not distinguish one individual chip one from another.
It has been also known to customize each individual chip as it is manufactured in order to make it uniquely identifiable. Such customization may be performed as the chip is fabricated or after it is fabricated, for example, by inscribing a unique pattern on its die. In addition, after a chip is fabricated, a programmable ROM may be programmed to store a date, a lot number, a wafer number, and a wafer position, as well as other useful manufacturing data. The information may be read back when an unusual combination of voltages is placed on the input pins and detected by the chip, overriding the normal function of the device.
Other techniques do not result in an electrically detectable modification of the integrated circuit die. Instead, they physically inscribe a pattern onto an unused portion of the die surface, to be observed optically by a machine or by a person using a microscope. For example, a pattern may be placed on electrically inactive areas on each die site on a wafer. This may be done with an additional mask step applied to the whole wafer.
While such methods can provide each chip with a unique identification, they require special processing steps during the semiconductor manufacturing process that add cost and time to the manufacturing process.
Mask read-only memory (ROM) devices are semiconductor memory devices widely used in various digital systems. One of their primary applications is for use as the memory for holding program code and data for microprocessors in digital computer systems. Many mask ROM manufacturers add visually identifiable alphanumeric markings to the device substrate that contain identification codes for distinguishing the mask ROM substrate from others. This identification code is added to the code mask that contains the selection of the transistor cells to be programmed as blocking and is made onto the device substrate when the device is factory-programmed.
Such a conventional process of fabricating the alphanumeric code marking, however, involves the use of multiple photomask layers. The code marking requires two photoresist applications, two photo exposures, as well as one etching procedure. The implementation of the second photomask layer is solely for the purpose of protecting the device area of the mask ROM device when the code marking is being fabricated.
Non-volatile programmable memory such as FLASH, EPROM, fuse, antifuse or laser programming my be included and programmed after manufacturing with a unique or nearly-unique identifier. Non-volatile memory requires additional processing steps, adding cost to products.
As mentioned earlier, many tracking and security functions use a unique device identifier on a chip. However, a mask-programmed memory or a special non-volatile memory process to put the identifier on chip has disadvantages including adding cost to the manufacturing process. Moreover, for many applications, it is not essential that the identifier be unique or sequential. Any number that is difficult to reproduce is acceptable.
It can be seen then that there is a need for a method and apparatus that provides a lost cost, simple, identifier for identifying a particular integrated circuit.